import type { CommonMenuProps } from '#/Menu.d.ts';
// 遍历list
// 	判断menuCode是否等于rootMenuCode,是则返回该对象
// 	不是则判断menu.children是否不为空且是个数组且内部有元素
// 		如果是则递归调用
export const recursionFind = (rootMenuCode: string, list: Array<CommonMenuProps>): CommonMenuProps | null => {
	for (const menu of list) {
		if (menu.menuCode === rootMenuCode) {
			// 匹配则直接返回
			return menu;
		}
		if (menu.children && Array.isArray(menu.children) && menu.children.length) {
			// 有叶子节点则寻找叶子节点中的
			const result: CommonMenuProps | null = recursionFind(rootMenuCode, menu.children);
			if (result) {
				// 寻找的时候如果有结果则直接返回
				return result;
			} else {
				// 没有结果则继续下一次循环
				continue;
			}
		}
	}
	// 全部都没匹配到则返回null
	return null;
};
export const containsAllStringArr = (arr: Array<string>, elementArr: Array<string>) => {
	return elementArr.every((str: string) => arr.includes(str));
};